/*********************////////////////////////Funciones///////////****************************
var funcEditFormJug=function ()
{            
        Ext.getCmp("formCrudJugador").getForm().submit({
                url:'jugador/editarDatos',
                method:'POST',
                clientValidation: false,
                success: function(form,action)
                        {   
                            var obj = Ext.JSON.decode(action.response.responseText);
                            if(obj.success)
                            {            
                                   Ext.example.msg('Editar Jugador', 'Se han editado los datos con éxito.');
                                    ventanaFormJug.hide();                                    
                                    Ext.getCmp("gridJugadores").getStore().load();            
                                    formCrudJugador.getForm().reset();                                 
                            }},
                failure: function(form,action){  Ext.example.msg('Editar Jugador', 'Ocurrió un error al editar los datos.');}
       });
}

var funcNuevoJug =function()
{        
        Ext.getCmp("formCrudJugador").getForm().submit({
            url:'jugador/registrar',
            method:'POST',
           // clientValidation: false,
            
            success: function(form,action)
                    {
                          
                            var obj = Ext.JSON.decode(action.response.responseText);
                            if(obj.success)
                            {            
                                   Ext.example.msg('Registro Jugador', 'Se registró el jugador con éxito.');
                                    ventanaFormJug.hide();                                    
                                    Ext.getCmp("gridJugadores").getStore().load(); 
                                    formCrudJugador.loadRecord(formInfoJug.getRecord());
                                    formCrudJugador.getForm().reset(); 
                            }
                            else   alert(' registro fallo.');
                    },
            failure: function(form,action)
                    {
                        Ext.example.msg('Registro Jugador', 'Error al registrar el jugador.');
                    }          
        });
    
  
}




var comboRh=Ext.create('Ext.form.ComboBox', {
    name:'rhJug',
    fieldLabel: 'Grupo Sanguineo (RH)',
    emptyText: 'Seleccione su Grupo',  
    store:  new Ext.data.Store({autoLoad: true,
                            fields:[{name:'grupoSang',type:'string'}],
                            proxy: {type: 'ajax',
                                    url: 'utilidades/getGruposSanguineos',  // url that will load data with respect to start and limit params        
                                    reader: {
                                          type: 'json',
                                          root: 'items',
                                          totalProperty: 'total'}}
            }),
    queryMode: 'remote',
    displayField: 'grupoSang',
    valueField: 'grupoSang'
    //renderTo: Ext.getBody()
});

var comboEstadosJug=new Ext.form.ComboBox({
        // all of your config options
        fieldLabel:'Estado',
        //hideLabel: true,
        id:'comboEstadosJug',   
        name:'estadoJug',
        triggerAction: 'all',
        lazyRender:true,
        editable:false,    
        hiddenName:'nombreEstado',
        valueField: 'nombreEstado',           
        store:  new Ext.data.Store({autoLoad: true,
                            fields:[{name:'nombreEstado',type:'string'}],
                            proxy: {type: 'ajax',
                                    url: 'jugador/getEstados',  // url that will load data with respect to start and limit params        
                                    reader: {
                                          type: 'json',
                                          root: 'items',
                                          totalProperty: 'total'}}
            }),

            displayField: 'nombreEstado',
            
            mode: 'remote',
            emptyText: 'Estado',                        
            allowBlank:false
  }); 

var comboPaisesJug=new Ext.form.ComboBox({
        // all of your config options
        fieldLabel:'Nacionalidad',
        //hideLabel: true,
        id:'comboPaisesJug',   
        name:'paisJug',
        triggerAction: 'all',
        lazyRender:true,
        editable:false,    
        hiddenName:'idPais',
        valueField: 'idPais',           
        store:  new Ext.data.Store({autoLoad: true,
                            fields:[{name:'idPais',type:'int'},{name:'nombrePais',type:'string'}],
                            proxy: {type: 'ajax',
                                    url: 'utilidades/getPaises',  // url that will load data with respect to start and limit params        
                                    reader: {
                                          type: 'json',
                                          root: 'items',
                                          totalProperty: 'total'}}
            }),

            displayField: 'nombrePais',
            listeners:{
                      select: function(combo,record,index)
                            {
                              comboCiudadesJug.setDisabled(false);
                              comboCiudadesJug.clearValue();
                              storeCiudades.load({params:{'idPais': comboPaisesJug.getValue()}});
                            }
                      },
            mode: 'remote',
            emptyText: 'País',            
            allowBlank:false
  }); 

var storeCiudades= new Ext.data.Store({autoLoad: false,
                            fields:[{name:'idCiudad',type:'int'},{name:'nombreCiudad',type:'string'}],                            
                            proxy: {type: 'ajax',
                                    url: 'utilidades/getCiudades',  // url that will load data with respect to start and limit params        
                                    params:{'idPais': comboPaisesJug.getValue()},
                                    reader: {
                                          type: 'json',
                                          root: 'items',
                                          totalProperty: 'total'},
                                      actionMethods: {
                                                        create : 'POST',
                                                        read   : 'POST',
                                                        update : 'POST',
                                                        destroy: 'POST'
                                                    }                                                                          
                                    }
                              
            });
            
            

var comboCiudadesJug=new Ext.form.ComboBox({
        // all of your config options
        hideLabel: true,
        disabled: true,
        id:'comboCiudadesJug',   
        name:'ciudadJug',
        triggerAction: 'all',
        lazyRender:true,
        editable:false,    
        hiddenName:'idCiudad',
        valueField: 'idCiudad',           
        store: storeCiudades,
        queryMode: 'local',
        displayField: 'nombreCiudad',      
        emptyText: 'Ciudad',            
        allowBlank:false                
 }); 

      
            
var formCrudJugador= new Ext.form.Panel({	
                fieldDefaults: {msgTarget: 'side'},                 
                autoHeight: true,
		frame:true,
		autoWidth:true,
                id:'formCrudJugador',
		layout:'anchor',
		defaults:{anchor:'100%', xtype:'textfield'},          
		
		items:[{xtype:'fieldset',
                        
                        id:'fieldsetCrudJug',
			title:'Ingrese Datos del Jugador',
			//height:'100%',
                        width:'100%',
			autoHeight: true,
			defaults:{ xtype:'textfield',labelWidth:120},
			
			items: [
                                {xtype:'hiddenfield', name:'idJug'},
                                {fieldLabel:'Nombres', name:'nombresJug',allowBlank: false},
				{fieldLabel:'Apellidos',name:'apellidosJug',allowBlank: false},                                
                                {
                                    xtype: 'filefield', id: 'fotoJug',
                                    emptyText: 'Seleccionar Foto',
                                    fieldLabel: 'Foto',
                                    name: 'rutaFotoJug',
                                    buttonText: '',
                                    buttonConfig: {iconCls: 'x-form-file'},
                                    
                                },
				{fieldLabel:'No. Identificación',name:'identifJug',allowBlank: false,maskRe: /[0-9]/i},
				{xtype:'datefield', fieldLabel:'Fecha de Nacimiento',name:'fechaNcmtoJug', format: 'Y-m-d'},
				comboRh,comboPaisesJug, comboCiudadesJug,
                                {
                                    xtype: 'numberfield',
                                    name: 'pesoJug',
                                    fieldLabel: 'Peso (kg)',
                                    value: 50,
                                    minValue: 20,
                                    maxValue: 150
                                },
                                {
                                    xtype: 'numberfield',
                                    name: 'estaturaJug',
                                    fieldLabel: 'Estatura (cm)',
                                    value: 110,
                                    minValue: 110,
                                    maxValue: 250
                                },
				
                                //aqui van los combos ciudades y pais
				{fieldLabel:'Telefono',name:'telJug',maskRe: /[0-9]/i},
				{fieldLabel:'E-mail',name:'e-mailJug',allowBlank: false},                                                                
				comboEstadosJug
                                
                               ] 
			}],
                    buttons:[{text:'Registrar',
                              id:'butRegJug',
                              handler: funcNuevoJug
                            },{
                                text:'Guardar Cambios',                                
                                id:'butEditJug',
                                handler: funcEditFormJug
                            },{text:'Cancelar',
                                handler: function()
                                {ventanaFormJug.hide();
                                 formCrudJugador.getForm().reset();
                                }
                            }]
	});           

var formInfoJug= new Ext.form.Panel({
               // autoHeight:true,
               region: 'east',
               width: '48%',
		frame:true,
		//width:'100%',
                id:'formInfoJug',
		layout:'anchor',
		defaults:{anchor:'100%'},
                fieldDefaults: {msgTarget: 'side'},
		height:'100%',
		items:[{xtype:'fieldset',
                        id:'fieldsetInfoJug',
			title:'Datos del Jugador',
			height:'100%',
                        autoWidth: true,
			defaults:{ xtype:'displayfield',labelAlign:'left',labelWidth:'110',labelStyle:'font-weight:bold;'},
			
			items: [{xtype:'hiddenfield', name:'idJug'},
                                /*{id:'fotoImagen',xtype:'image', name:'fotoJug',loader:{url:'jugador/obtenerFoto',params: {idJug: 3},
loadMask: {msg:'Cargando....'},
                        scope:this}},*/
                                {fieldLabel:'Nombres', name:'nombresJug'},
				{fieldLabel:'Apellidos',name:'apellidosJug'},
				{fieldLabel:'No. Identificación',name:'identifJug'},
				{fieldLabel:'Fecha Nacimiento',name:'fechaNcmtoJug'},				
				{fieldLabel:'Nacionalidad',name:'ciudadJug'},			
				{fieldLabel:'Telefono',name:'telJug'},
				{fieldLabel:'E-mail',name:'e-mailJug'},
				{fieldLabel:'Estado',name:'estadoJug'},
                                {fieldLabel:'Peso',name:'pesoJug'},
				{fieldLabel:'Estatura',name:'estaturaJug'},
                                {fieldLabel:'RH',name:'rhJug'},
                                {fieldLabel:'Puntos Ranking',name:'ptosRankJug'},
                                {fieldLabel:'Posicion Ranking',name:'posRankJug'},
                                {xtype:'hiddenfield', name:'paisJug'},                           
                               ] 
			}]    
});
   
        
if(rolUsuario=="Administrador")
 {
     formInfoJug.addDocked({xtype:'toolbar',dock:'bottom',items:['->',{
                    icon: '../../../js/extjs/ext-4.0.1/examples/shared/icons/fam/user-add.gif',
                   // cls: 'x-btn-icon',
                    id:'tbutRegJug',
                    text: 'Registrar Jugador',
                    scope: this,
                    
                    handler: function()
                             { Ext.getCmp("fieldsetCrudJug").setTitle("Datos de Nuevo Jugador");
                               ventanaFormJug.setTitle("Registrar Jugador");
                               ventanaFormJug.show();                               
                               Ext.getCmp("butEditJug").hide();
                               Ext.getCmp("butRegJug").show();
                             }
                },{xtype:'tbseparator', id:'tbseparatorJug'},{
                    //icon: 'icon-add',
                    text: 'Editar Datos',
                    scope: this,
                    
                    handler: function()
                            {   comboCiudadesJug.setDisabled(false);
                                comboCiudadesJug.clearValue();
                                storeCiudades.load({params:{'idPais': formInfoJug.getForm().findField("paisJug").getValue()},
                                    callback: function() {
                                                          comboCiudadesJug.setValue(storeCiudades.findRecord('nombreCiudad',formInfoJug.getForm().findField("ciudadJug").getValue()));
                                                       }

                            });
                                
                                Ext.getCmp("fieldsetCrudJug").setTitle("Editar Datos de Jugador");
                                ventanaFormJug.setTitle("Editar Datos");
                                formCrudJugador.loadRecord(formInfoJug.getRecord());                                
                                ventanaFormJug.show();                               
                               Ext.getCmp("butEditJug").show();
                               Ext.getCmp("butRegJug").hide();
                            }
                }
                ]});
 
 }
       

var ventanaFormJug = new Ext.Window({
	id     : 'ventanaFormJug',
        title:'Registrar Jugador',
	modal: true,
	closable:false,
	draggable: false, 
	autoHeight: true,
        animateTarget:'tbseparatorJug',
	autoWidth  : true,
	items  : [formCrudJugador]
});


